package zuoye.tryCatch块;

public class Multiply {
    //try/catch块
    //本实训的用途是熟悉try/catch块的编写。
    //实现步骤：
    //1.编写类Multiply，并在类中添加main()方法。该类将使用输入的命令行参数，将两个数相乘。
    //2.在main()方法中，声明一个try块，在try块中通过Integer.parseInt()方法将前两个命令行参数解析为int类型。
    //3.try块有两个catch块，一个用于捕获ArrayIndexOutOfBoundsException异常，一个用于捕获NumberFormatException异常。
    //4.如果一个ArrayIndexOutOfBoundsException异常发生，就说明用户还没有输入两个命令行参数。通知用户，打印出栈跟踪信息，使用一个return语句让main()方法结束。
    //5.如果NumberFormatException异常发生，说明用户输入了无效的命令行参数。通知用户程序需要两个整型数据，然后打印出栈跟踪信息，使用retrun语句让main()方法结束。
    //6.如果没有异常发生，打印出这两个int类型数据以及它们的积。
    //7.保存、编译，并用如下的命令行运行Multiply程序几次：
    //java Multiply 10 5
    //java Multiply 10
    //java Multiply 7 hello
    //异常与多态
    //本实训中，我们将使用单个catch块，来替换上一阶段实训中的两个catch块。
    //实现步骤：

    public static String c;
    public static String d;

    public static void Multiply(String a, String b) {

        int x, y;
        try {
            x = Integer.parseInt(a);
            y = Integer.parseInt(b);
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("用户还没有输入两个命令行参数");
            e.getCause();
            e.getMessage();
            return;
        } catch (NumberFormatException e1) {
            System.out.println("需要两个整型数据");
            e1.getCause();
            e1.getMessage();
            return;
        }
        System.out.println("输入的结果为" + (x * y));
    }
}
